#ifndef TYPE_H
#define TYPE_H

#include "Common.h"

class TcpServerSession;

typedef enum
{
	GILLINGHAM_TCP_CLOSED,
	GILLINGHAM_TCP_SOCKET_CREATED,
	GILLINGHAM_TCP_BOUND,
	GILLINGHAM_TCP_LISTENING,
	GILLINGHAM_TCP_ESTABLISHED
}TcpSessionState;

typedef enum
{
	TCP_FILE_TRANSFER_IDLE,
	TCP_FILE_TRANSFER_CONNECTED,
	TCP_FILE_TRANSFER_SENDING,
	TCP_FILE_TRANSFER_ENDING,
	TCP_FILE_TRANSFER_DONE
}TcpFileTransferState;

typedef enum
{
	TCP_CONTROL_MSG,
	TCP_FILE_TRANSFER,
	TCP_INSTANT_MSG
}TcpMessageType;

typedef struct
{
	int conn_sock;
	TcpServerSession* ptr_tcp_srv_session;
}TCP_CONN_SOCK_INFO;

#endif
